
package Modelo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import java.util.LinkedList;


public class Listas 
{
      private LinkedList<Rutas> ListaRutas= new LinkedList<Rutas>();
      private LinkedList<Choferes> ListaChoferes= new LinkedList<Choferes>();    
      private LinkedList<Viajes> ListaViajes = new LinkedList<Viajes>();
      private LinkedList<UnidadT> ListaUnidadT = new LinkedList<UnidadT>();
      private LinkedList<Cooperativa> ListaCoop = new LinkedList<Cooperativa>();
    //------------------------------
      // Zona de Getters
    //------------------------------  
            public LinkedList<Rutas> getListaRutas()
            {
               return ListaRutas; 
            }

            public LinkedList<UnidadT> getListaUnidadT() 
            {
               return ListaUnidadT;
            }

            public LinkedList<Choferes> getListaChoferes() 
            {
               return ListaChoferes;
            }

            public LinkedList<Viajes> getListaViajes()
            {
               return ListaViajes;
            }

            public LinkedList<Cooperativa> getListaCoop() 
            {
               return ListaCoop;
            }
    //------------------------------
            // listas de Rutas
    //------------------------------        
      public void CargarRutas()
      {
         Rutas LasRutas=new Rutas();


          String Via;
          int Cnt;
          File archivo = null;
          FileReader fr = null;
          BufferedReader br = null;

          try {
             // Apertura del fichero y creacion de BufferedReader para poder
             // hacer una lectura comoda (disponer del metodo readLine()).
             //archivo = new File ("C:\\Arbitros.txt");

             Via=System.getProperty("user.dir")+"/src/Archivos/Rutas.txt";   

             archivo = new File (Via);

             fr = new FileReader (archivo);
             br = new BufferedReader(fr);

             // Lectura del fichero
             String linea;

             Cnt=0;


             while((linea=br.readLine())!=null)
                {               
                  Cnt++;

                  switch (Cnt)
                  {
                      case 1:LasRutas.setCodigoR(linea);
                             break;

                      case 2:LasRutas.setDestino(linea);
                             break;

                      case 3:LasRutas.setDescripcionR(linea);
                             break;

                      case 4:LasRutas.setEStado(linea);
                             break;

                  }                

                }

          }

          catch(Exception e){
          }finally{
             // En el finally cerramos el fichero, para asegurarnos
             // que se cierra tanto si todo va bien como si salta 
             // una excepcion.
             try{                    
                if( null != fr ){   
                   fr.close();     
                }                  
             }catch (Exception e2){ 
             }
          }   


          for (int i=0;i<ListaRutas.size();i++)
          {
            LasRutas=ListaRutas.get(i);
            System.out.println(LasRutas.getCodigoR());

            System.out.println("------------------");

          }   

      }
      public  int ExisteRutas(String CodR)
     {
       int i=0,Posi=-1;

       Rutas rts;
       String CodLista;

       for (i=0;i<ListaRutas.size();i++)
       {
         rts=ListaRutas.get(i);

         CodLista=rts.getCodigoR();

         if (CodLista.equals(CodR)) 
           {  
             Posi=i;
             return Posi;
           }  

       }   

       return Posi;
    }
    //--------------------------------
      // lista unidadT
    //------------------------------  
      public void CargarUnidadT()
      {
          UnidadT unidad=new UnidadT();

          String Via;
          String descripcion;
          Double impuesto;
          Double seguro;
          Integer capacidad;
          int Cnt;
          File archivo = null;
          FileReader fr = null;
          BufferedReader br = null;

          try {
             // Apertura del fichero y creacion de BufferedReader para poder
             // hacer una lectura comoda (disponer del metodo readLine()).
             //archivo = new File ("C:\\Arbitros.txt");

             Via=System.getProperty("user.dir")+"/src/Archivos/Unidades.txt";   

             archivo = new File (Via);

             fr = new FileReader (archivo);
             br = new BufferedReader(fr);

             // Lectura del fichero
             String linea;

             Cnt=0;

             while((linea=br.readLine())!=null)
                {               
                  Cnt++;

                  switch (Cnt)
                  {
                      case 1:unidad.setPlaca(linea);
                             break;

                      case 2:unidad.setDescripcion(linea);
                          break;

                      case 3:capacidad=Integer.parseInt(linea);
                             break;

                      case 4:unidad.setCodigo(linea);
                             ListaUnidadT.add(unidad);                                                      
                             unidad=new UnidadT();
                             Cnt=0;
                             break;

                  }                

                }

          }
          catch(Exception e){
          }finally{
             // En el finally cerramos el fichero, para asegurarnos
             // que se cierra tanto si todo va bien como si salta 
             // una excepcion.
             try{                    
                if( null != fr ){   
                   fr.close();     
                }                  
             }catch (Exception e2){ 
             }
          }   
      }

       public int ExisteUnidadT(String PlacaBus)
     {
       int i=0,Posi=-1;

       UnidadT unidad;
       String PlacaLista;

       for (i=0;i<ListaUnidadT.size();i++)
       {
         unidad=ListaUnidadT.get(i);

         PlacaLista=unidad.getPlaca();

         if (PlacaLista.equals(PlacaBus)) 
           {  
             Posi=i;
             return Posi;
           }  

       }   

       return Posi;
    }   
    //---------------------------------
       // lista de Choferes
    //------------------------------
     public void CargarChoferes()
      {
          Choferes chofer=new Choferes();

          String Via;
          int Cnt;
          File archivo = null;
          FileReader fr = null;
          BufferedReader br = null; //sirve para guardar

          try {
             // Apertura del fichero y creacion de BufferedReader para poder
             // hacer una lectura comoda (disponer del metodo readLine()).
             //archivo = new File ("C:\\Arbitros.txt");

             Via=System.getProperty("user.dir")+"/src/Archivos/Choferes.txt";   

             archivo = new File (Via);

             fr = new FileReader (archivo);
             br = new BufferedReader(fr);

             // Lectura del fichero
             String linea;

             Cnt=0;

             while((linea=br.readLine())!=null)
                {               
                  Cnt++;

                  switch (Cnt)
                  {
                      case 1:chofer.setCedula(linea);
                             break;

                      case 2:chofer.setNombres(linea);
                             break;

                      case 3:chofer.setDireccion(linea);
                             break;

                      case 4:                         
                             chofer.setTelefonos(linea);
                             ListaChoferes.add(chofer);                                                      
                             chofer=new Choferes();
                             Cnt=0;
                             break;

                  }                

                }

          }
          catch(Exception e){
          }finally{
             // En el finally cerramos el fichero, para asegurarnos
             // que se cierra tanto si todo va bien como si salta 
             // una excepcion.
             try{                    
                if( null != fr ){   
                   fr.close();     
                }                  
             }catch (Exception e2){ 
             }
          }   
      }

     public int ExisteChofer(String CedBus)
     {
       int i=0,Posi=-1;

       Choferes chofer;
       String CedLista;

       for (i=0;i<ListaChoferes.size();i++)
       {
         chofer=ListaChoferes.get(i);

         CedLista=chofer.getCedula();

         if (CedLista.equals(CedBus)) 
           {  
             Posi=i;
             return Posi;
           }  

       }   

       return Posi;
    }   
    //--------------------------------------  
        // lista de Cooperativas
    //--------------------------------------
         public void CargarCooperativa()
      {
          Cooperativa coop = new Cooperativa();

          String Via;
          int Cnt;
          File archivo = null;
          FileReader fr = null;
          BufferedReader br = null; //sirve para guardar

          try {
             // Apertura del fichero y creacion de BufferedReader para poder
             // hacer una lectura comoda (disponer del metodo readLine()).
             //archivo = new File ("C:\\Arbitros.txt");

             Via=System.getProperty("user.dir")+"/src/Archivos/Cooperativa.txt";   

             archivo = new File (Via);

             fr = new FileReader (archivo);
             br = new BufferedReader(fr);

             // Lectura del fichero
             String linea;

             Cnt=0;

             while((linea=br.readLine())!=null)
                {               
                  Cnt++;

                  switch (Cnt)
                  {
                      case 1:coop.setRifC(linea);
                           break;

                      case 2:coop.setNombreC(linea);
                           break;

                      case 3:coop.setTelefonoC(linea);
                           break;
                    }                

                }               
          }
          catch(Exception e){
          }finally{
             // En el finally cerramos el fichero, para asegurarnos
             // que se cierra tanto si todo va bien como si salta 
             // una excepcion.
             try{                    
                if( null != fr ){   
                   fr.close();     
                }                  
             }catch (Exception e2){ 
             }
          }   
      }

     public int ExisteCooperativa(String rifCoop)
     {
       int i=0,Posi=-1;
       Cooperativa coop;
       String rifLista;
       String CedLista;

       for (i=0;i<ListaCoop.size();i++)
       {
         coop=ListaCoop.get(i);

         rifLista=coop.getRifC();

         if (rifLista.equals(rifCoop)) 
           {  
             Posi=i;
             return Posi;
           }  

       }   

       return Posi;
    } 
}
